// Author:   Tong Qin               qintonguav@gmail.com
// 	         Shaozu Cao 		    saozu.cao@connect.ust.hk

#pragma once

#include <ctime>
#include <cstdlib>
#include <chrono>

//!lio-sam自带的计时
// class TicToc
// {
//   public:
//     TicToc()
//     {
//         tic();
//     }

//     void tic()
//     {
//         start = std::chrono::system_clock::now();
//     }

//     double toc()
//     {
//         end = std::chrono::system_clock::now();
//         std::chrono::duration<double> elapsed_seconds = end - start;
//         return elapsed_seconds.count() * 1000;
//     }

//   private:
//     std::chrono::time_point<std::chrono::system_clock> start, end;
// };





//! 我自己的计时


class TicToc{
public:
    TicToc(){
        t_start_ = std::chrono::steady_clock::now();
    }
    void tic(){
        t_start_ = std::chrono::steady_clock::now();
    }
    double toc(){
        t_end_ = std::chrono::steady_clock::now();
        time_used_ = std::chrono::duration<double>(t_end_ - t_start_).count();
        t_start_ = std::chrono::steady_clock::now();
        return time_used_;
    }

private:
    std::chrono::steady_clock::time_point t_start_ ;
    std::chrono::steady_clock::time_point t_end_;
    double time_used_;
};











